package com.ruoyi.animalManagement.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 动物档案管理对象 lmis_animal
 * 
 * @author wj
 * @date 2025-08-19
 */
public class LmisAnimal extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 动物编号 */
    private Long animalId;

    /** 动物名称 */
    @Excel(name = "动物名称")
    private String animalName;

    /** 人员ID */
    private Long userId;

    /** 所属人员 */
    @Excel(name = "所属人员")
    private String userName;

    /** 实验ID */
    private Long exId;

    /** 所属实验 */
    @Excel(name = "所属实验")
    private String exName;

    /** 课题ID */
    private Long topicId;

    /** 所属课题 */
    @Excel(name = "所属课题")
    private String topicName;

    /** 来源 */
    @Excel(name = "来源")
    private String source;

    /** 动物性别 */
    @Excel(name = "动物性别")
    private String gender;

    /** 动物品系 */
    @Excel(name = "动物品系")
    private String animalStrain;

    /** 动物类型 */
    @Excel(name = "动物类型")
    private String animalType;

    /** 基因型 */
    @Excel(name = "基因型")
    private String genoType;

    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthDate;

    /** 离乳日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "离乳日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date weaningDate;

    /** 父本动物 ID */
    @Excel(name = "父本动物 ID")
    private Long parentMaleId;

    /** 母本动物 ID */
    @Excel(name = "母本动物 ID")
    private Long parentFemaleId;

    /** 所属笼位 */
    @Excel(name = "所属笼位")
    private Long cageId;

    /** 入笼资质 */
    @Excel(name = "入笼资质")
    private String certValue;

    /** 动物状态 */
    @Excel(name = "动物状态")
    private String animalStatus;

    /** 是否删除 */
    private String delFlag;

    public String getAnimalName() {
        return animalName;
    }

    public void setAnimalName(String animalName) {
        this.animalName = animalName;
    }

    public void setAnimalId(Long animalId)
    {
        this.animalId = animalId;
    }

    public Long getAnimalId() 
    {
        return animalId;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }

    public void setExId(Long exId) 
    {
        this.exId = exId;
    }

    public Long getExId() 
    {
        return exId;
    }

    public void setExName(String exName) 
    {
        this.exName = exName;
    }

    public String getExName() 
    {
        return exName;
    }

    public void setTopicId(Long topicId) 
    {
        this.topicId = topicId;
    }

    public Long getTopicId() 
    {
        return topicId;
    }

    public void setTopicName(String topicName) 
    {
        this.topicName = topicName;
    }

    public String getTopicName() 
    {
        return topicName;
    }

    public void setSource(String source) 
    {
        this.source = source;
    }

    public String getSource() 
    {
        return source;
    }

    public void setGender(String gender) 
    {
        this.gender = gender;
    }

    public String getGender() 
    {
        return gender;
    }

    public void setAnimalStrain(String animalStrain) 
    {
        this.animalStrain = animalStrain;
    }

    public String getAnimalStrain() 
    {
        return animalStrain;
    }

    public void setAnimalType(String animalType) 
    {
        this.animalType = animalType;
    }

    public String getAnimalType() 
    {
        return animalType;
    }

    public void setGenoType(String genoType) 
    {
        this.genoType = genoType;
    }

    public String getGenoType() 
    {
        return genoType;
    }

    public void setBirthDate(Date birthDate) 
    {
        this.birthDate = birthDate;
    }

    public Date getBirthDate() 
    {
        return birthDate;
    }

    public void setWeaningDate(Date weaningDate) 
    {
        this.weaningDate = weaningDate;
    }

    public Date getWeaningDate() 
    {
        return weaningDate;
    }

    public void setParentMaleId(Long parentMaleId) 
    {
        this.parentMaleId = parentMaleId;
    }

    public Long getParentMaleId() 
    {
        return parentMaleId;
    }

    public void setParentFemaleId(Long parentFemaleId) 
    {
        this.parentFemaleId = parentFemaleId;
    }

    public Long getParentFemaleId() 
    {
        return parentFemaleId;
    }

    public void setCageId(Long cageId) 
    {
        this.cageId = cageId;
    }

    public Long getCageId() 
    {
        return cageId;
    }

    public void setCertValue(String certValue) 
    {
        this.certValue = certValue;
    }

    public String getCertValue() 
    {
        return certValue;
    }

    public void setAnimalStatus(String animalStatus) 
    {
        this.animalStatus = animalStatus;
    }

    public String getAnimalStatus() 
    {
        return animalStatus;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("animalId", getAnimalId())
            .append("userId", getUserId())
            .append("userName", getUserName())
            .append("exId", getExId())
            .append("exName", getExName())
            .append("topicId", getTopicId())
            .append("topicName", getTopicName())
            .append("source", getSource())
            .append("gender", getGender())
            .append("animalStrain", getAnimalStrain())
            .append("animalType", getAnimalType())
            .append("genoType", getGenoType())
            .append("birthDate", getBirthDate())
            .append("weaningDate", getWeaningDate())
            .append("parentMaleId", getParentMaleId())
            .append("parentFemaleId", getParentFemaleId())
            .append("cageId", getCageId())
            .append("certValue", getCertValue())
            .append("animalStatus", getAnimalStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
